লারাভেল হ্যাসিং (Laravel Hashing)

Web Development - লারাভেল (Laravel) - লারাভেল সিকিউরিটি (Laravel Security) |
6
6

লারাভেল (Laravel) ফ্রেমওয়ার্কে নিরাপত্তা একটি অত্যন্ত গুরুত্বপূর্ণ বিষয় এবং হ্যাসিং (Hashing) হল সেগুলোর মধ্যে অন্যতম। হ্যাসিং হলো একটি এক-way প্রক্রিয়া, যার মাধ্যমে আপনি যেকোনো ডেটাকে একটি নির্দিষ্ট আউটপুটে রূপান্তর করেন, যা মূল ডেটাকে পুনরুদ্ধার করা সম্ভব নয়। এটি সাধারণত পাসওয়ার্ড নিরাপদে সংরক্ষণ করার জন্য ব্যবহৃত হয়। লারাভেল হ্যাসিং প্রক্রিয়াটি সহজ এবং নিরাপদ পাসওয়ার্ড হ্যান্ডলিং নিশ্চিত করে।

হ্যাসিং কি?

হ্যাসিং (Hashing) হল একটি প্রক্রিয়া যার মাধ্যমে একটি ইনপুট ডেটাকে একটি নির্দিষ্ট আকারের (ফিক্সড লেংথ) আউটপুটে রূপান্তর করা হয়। এটি এক-way প্রক্রিয়া হওয়ায়, হ্যাস করা ডেটাকে আর পুনরায় আদি ডেটাতে রূপান্তর করা সম্ভব নয়। পাসওয়ার্ড বা সংবেদনশীল তথ্য নিরাপদে সংরক্ষণ করতে হ্যাসিং ব্যবহার করা হয়।

লারাভেল হ্যাসিং কি?

লারাভেল হ্যাসিং হলো লারাভেল ফ্রেমওয়ার্কের একটি বিল্ট-ইন নিরাপত্তা ফিচার যা পাসওয়ার্ড বা অন্যান্য ডেটা নিরাপদভাবে হ্যাস করার জন্য ব্যবহৃত হয়। লারাভেল Hash ফ্যাসেড (Facade) ব্যবহার করে এই প্রক্রিয়াটি সহজে করতে সক্ষম। এটি bcrypt, Argon2, এবং অন্যান্য শক্তিশালী হ্যাসিং অ্যালগরিদম সমর্থন করে।

লারাভেল হ্যাসিং ব্যবহারের পদ্ধতি

লারাভেল হ্যাসিং ব্যবহারের জন্য আপনি Hash ফ্যাসেড ব্যবহার করতে পারেন। এর মধ্যে কয়েকটি গুরুত্বপূর্ণ ফাংশন রয়েছে যা আপনাকে হ্যাসিং এবং হ্যাস ম্যাচিং করতে সহায়তা করবে।

পাসওয়ার্ড হ্যাসিং করা

লাতাভেলে পাসওয়ার্ড হ্যাসিং করার জন্য Hash::make() ফাংশন ব্যবহার করা হয়। উদাহরণস্বরূপ:

use Illuminate\Support\Facades\Hash;

$password = 'user_password';
$hashedPassword = Hash::make($password);

এই কোডটি $password ভেরিয়েবলের মানকে হ্যাস করে $hashedPassword এ সংরক্ষণ করবে। এখন, এটি পুনরায় পুনরুদ্ধার করা সম্ভব নয়, তবে আপনি এই হ্যাস করা পাসওয়ার্ডটি নিরাপদে সংরক্ষণ করতে পারবেন।

হ্যাস ম্যাচিং করা

হ্যাস করা পাসওয়ার্ডটি যাচাই করার জন্য Hash::check() ফাংশন ব্যবহার করা হয়। এটি মূল পাসওয়ার্ড এবং হ্যাস করা পাসওয়ার্ডের সাথে তুলনা করে, এবং যদি মিল থাকে তবে এটি true রিটার্ন করবে, অন্যথায় false রিটার্ন করবে।

if (Hash::check($password, $hashedPassword)) {
    // পাসওয়ার্ড ম্যাচ করেছে
} else {
    // পাসওয়ার্ড ম্যাচ করেনি
}

হ্যাসিংয়ের জন্য সল্ট ব্যবহার

লারাভেল নিজেই হ্যাসিংয়ের সময় সল্ট (salt) ব্যবহার করে, যার ফলে হ্যাশ হওয়া পাসওয়ার্ড আরো নিরাপদ থাকে। সল্ট হল অতিরিক্ত র্যান্ডম ডেটা যা হ্যাসিংয়ের সাথে যুক্ত করা হয়, যাতে হ্যাসিং প্রক্রিয়া আরো নিরাপদ হয়।

হ্যাসিং অ্যালগরিদম পরিবর্তন করা

লারাভেল Hash ফ্যাসাদে বিভিন্ন ধরনের হ্যাসিং অ্যালগরিদম ব্যবহার করতে পারে, যেমন bcrypt, argon2, ইত্যাদি। আপনি ডিফল্ট হ্যাসিং অ্যালগরিদমটি config/hashing.php ফাইল থেকে কনফিগার করতে পারেন:

'default' => env('HASHING_ALGO', 'bcrypt'),

এখানে, আপনি bcrypt অথবা argon2 এর মধ্যে যেকোনো একটি অ্যালগরিদম নির্বাচন করতে পারবেন।


সারাংশ

লারাভেল হ্যাসিং একটি গুরুত্বপূর্ণ নিরাপত্তা ফিচার যা পাসওয়ার্ড এবং অন্যান্য সংবেদনশীল তথ্য নিরাপদে সংরক্ষণ করতে সহায়তা করে। Hash ফ্যাসাদ ব্যবহার করে আপনি সহজে শক্তিশালী হ্যাসিং প্রক্রিয়া সম্পন্ন করতে পারেন এবং এইভাবে আপনার অ্যাপ্লিকেশনকে আরও নিরাপদ করতে পারেন।

Content added By
Promotion